from app import app, db, User, Product
from werkzeug.security import generate_password_hash
from products_data import PRODUCTS

def reset_database():
    """
    重置数据库：删除所有表并重新创建，同时创建管理员账号和测试商品
    """
    with app.app_context():
        # 删除所有表
        db.drop_all()
        print("已删除所有表")
        
        # 重新创建所有表
        db.create_all()
        print("已重新创建所有表")
        
        # 创建管理员账号
        admin = User(
            username='Administrator',
            password='6666',  # 修改为使用 password 字段并存储明文密码
            points=1000,  # 给管理员一些初始积分用于测试
            cigarette_butts=0
        )
        db.session.add(admin)
        
        # 创建测试商品
        for product_data in PRODUCTS:
            product = Product(**product_data)
            db.session.add(product)
        
        db.session.commit()
        print("已创建管理员账号和测试商品")

if __name__ == "__main__":
    reset_database()
    print("数据库重置完成！")